home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / gpmemacs.000 < prev    next >
Encoding:
Text File  |  1996-11-16  |  3.2 KB  |  76 lines

  1. Hi, this is the README file for gpmemacs. You must be wondering what
  2. gpmemacs is good for. Well, so do I. In my sombre mode.
  3.  
  4. Other times I think that gpmemacs is a way non-X Linux users (there
  5. are a few, and there will be at least 1 as long as I live :-)) can
  6. enjoy the carpal tunnel syndrome which demonstrably comes from
  7. controlling Emacs via the mouse.
  8.  
  9. gpmemacs takes advantage of Gpm,which is a Linux mouse library/daemon
  10. written by Alessandro Rubini. Gpm hands mouse events via a socket to
  11. interested processes. gpmemacs is a patch to Emacs C source code which
  12. makes Emacs be interested, and translate the Gpm events into Emacs
  13. mouse events just like X mouse events are translated (actually, a
  14. closer analogy would be with Emacs under MSDOG, but that's obviously
  15. taboo in polite Linux society). 
  16.  
  17. There have been shots at doing the same thing with an Emacs Lisp
  18. package. Alessandro himself included one with Gpm, and I conributed to
  19. it a little; see t-mouse.el in the Gpm distribution. The trouble with
  20. t-mouse was twofold: first, since it had its own code for reading the
  21. events, separate from the Emacs event loop, it had to pass the events
  22. explicitly through its own keymaps; usual Emacs mouse bindings didn't
  23. automatically work. You had to recreate every single mouse binding to
  24. make it work with t-mouse. Second, Emacs doesn't really expect input
  25. events to be processed explicitly outside of its dispatching code.
  26. Doing so resulted in little glitches, like Emacs being confused in
  27. which window the event really occurred.
  28.  
  29. I have also become aware of parallel work by Per Abrahamsen.  His
  30. package provides support for mouseclick escape sequences handed down
  31. by xterms.  Since the Linux kernel can apparently be told to emulate
  32. xterm mouse escape sequences, Per's code should work for Linux
  33. consoles.  However, the xterm mouse events are much more limited than
  34. Gpm events: neither multiple clicks nor keyboard modifiers are
  35. reported.
  36.  
  37. Per's package can be found at
  38.  
  39. ftp://sunsite.auc.dk/packages/auctex/xt-mouse.el
  40.  
  41. In contrast to these two , gpmemacs manipulates the events at the
  42. Emacs C code level.  Thus Gpm mouse events are handled _exactly_ like
  43. X mouse events, at the same `time' as other events. 
  44.  
  45. I had originally hoped to have this patch integrated with official GNU
  46. Emacs.  That didn't happen for a couple of reasons, the chief one
  47. being my lack of enthusiasm, since I concieved of this project as
  48. Linux specific.  The consequence is that I didn't take great care to
  49. make this easy to install.  You'll need a recent GNU autoconf, because
  50. the changes I made to the Emacs configure process have to propagate
  51. through two levels of *.in.in files.  To summarise:
  52.  
  53. 1/ Start with the official GNU Emacs 19.29 source tree.
  54.  
  55. 2/ gzip -d gpmemacs-19.29.diff.gz | patch
  56.  
  57. 3/ autoconf
  58.  
  59. 4/ configure
  60.  
  61. 5/ make
  62.  
  63. 6/ make install
  64.  
  65. 7/ emacs
  66.  
  67. 8/ click, drag and enjoy!
  68.  
  69. Don't hesitate to contact me with problems and questions regarding
  70. gpmemacs.
  71.  
  72. Ian T Zimmerman           +-------------------------------------------+
  73. Box 13445                 I    With so many executioners available,   I
  74. Berkeley CA 94712 USA     I suicide is a really foolish thing to do.  I
  75. mailto:itz@rahul.net      +-------------------------------------------+
  76.